/**
 * 
 */
package de.mbenning.fsim.simulation.components;

import java.lang.reflect.Method;
import java.util.List;

import de.mbenning.fsim.domain.Spieler;
import de.mbenning.fsim.simulation.components.enums.SystemArt;
import de.mbenning.fsim.simulation.components.enums.SystemType;

/**
 * 4-4-3, 4-5-2, 5-5-1
 * 
 * @author Martin.Benning
 *
 */
public class Spielsystem {
	
	private SystemType systemType;
	
	private Spielfeld spielfeld;
	
	private List<Spieler> spieler;
	
	public Spielsystem(SystemType systemType) {
		this.systemType = systemType;
	}
	
	public Spielsystem(SystemType systemType, Spielfeld spielfeld, List<Spieler> spieler) {
		this.systemType = systemType;
		this.spielfeld = spielfeld;
		this.spieler = spieler;
		this.init();
	}
	
	public void init() {
		try {
			String initMethod = this.systemType.toString();
			Method method = getClass().getMethod(initMethod);
			method.invoke(this);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public void SYSTEM_5_4_1() {
		System.out.println("SYSTEM_5_4_1");
	}
	
	public void SYSTEM_4_4_3() {
		System.out.println("SYSTEM_4_4_3");
	}
	
	public void SYSTEM_4_5_1() {
		System.out.println("SYSTEM_4_5_1");
	}
	
	public void SYSTEM_4_4_2() {
		System.out.println("SYSTEM_4_4_2");
	}
	
	public void SYSTEM_3_5_2() {
		System.out.println("SYSTEM_3_5_2");
	}
	
	public void SYSTEM_3_4_3() {
		System.out.println("SYSTEM_3_4_3");
	}
	
}
